﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MacomberMapSystem.Common.Processing.Attributes
{
    /// <summary>
    /// This class provides the attribute for whether a model must be opened
    /// </summary>
    [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Interface | AttributeTargets.Delegate, Inherited = false)]
    public sealed class RequireModelOpenedAttribute: Attribute
    {
         private bool _ModelOpenRequired;
        /// <summary>
        /// Initialize a new require model open attribute
        /// </summary>
        /// <param name="ModelOpenRequired"></param>
        public RequireModelOpenedAttribute(bool ModelOpenRequired)
        {
            this._ModelOpenRequired = ModelOpenRequired;
        }
        /// <summary>
        /// Report the value of our attribute
        /// </summary>
        public bool Value { get { return _ModelOpenRequired; } }
    }
}
